package com.cu.employmentmanagementsystem.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 学生个人简历的数据传输对象(DTO)
 * 用于在应用程序的不同层之间传递学生个人简历数据
 *
 * @TableName curriculum_vitae （注意：虽然这里标注了@TableName，但DTO通常不与数据库表直接对应，这个注解可能是误加的或者用于其他目的）
 */
@ApiModel(description = "学生个人简历DTO")
@Data
public class StudentVitaDTO implements Serializable {

    /**
     * 个人简历的唯一标识符
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 学生的唯一标识符
     */
    @ApiModelProperty(value = "studentId，学生Id")
    private Long userId;

    /**
     * 学生的姓名
     */
    @ApiModelProperty(value = "name，学生姓名")
    private String userName;

    /**
     * 学生的性别
     */
    @ApiModelProperty(value = "sex，学生性别")
    private String sex;

    /**
     * 学生的出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "birthday，学生出生日期")
    private LocalDateTime birthday;

    /**
     * 学生毕业的院校
     */
    @ApiModelProperty(value = "school，学生毕业院校")
    private String school;

    /**
     * 学生的获奖历史
     */
    @ApiModelProperty(value = "encourage，学生获奖历史")
    private String encourage;

    /**
     * 个人简历的状态，默认为0（可以根据实际业务定义状态的具体含义）
     */
    private Integer status = 0;

    /**
     * 投递状态
     */
    private Integer deliveryStatus;
}